专利摘要:
METHOD OF ENCODING A VIDEO, METHOD OF DECODING A VIDEO, EQUIPMENT FOR ENCODING A VIDEO, EQUIPMENT FOR DECODING A VIDEO, AND COMPUTER-READABLE RECORDING MEDIA. A method and apparatus for encoding a video is disclosed, the method including: encoding the video data of the maximum encoding unit into deeper encoding units of hierarchical structures according to at least one divided region of the maximum encoding unit, r with performing inter-prediction using partitions obtained by dividing the coding unit according to arbitrary proportions, and determining a coding depth; and producing a bit stream including the encoded video data corresponding to an encoding depth in accordance with maximum encoding units and information regarding encoding depth and encoding modes.
公开号:BR112012013871B1
申请号:R112012013871-5
申请日:2010-12-08
公开日:2022-02-01
发明作者:Sun-Ii Lee;Min-su CHEON;Woo-jin Han
申请人:Samsung Electronics Co., Ltd.;
IPC主号:
专利说明:

Technical Field
Exemplary modalities refer to encoding and decoding a video. Fundamentals of Technique
As hardware to play and store high-quality, high-resolution video content is being developed and provided, there is an increasing need for a video codec to effectively encode or decode high-quality, high-resolution video content. . In a conventional video codec, a video is encoded according to a limited encoding method based on a macroblock that has a predetermined size.
Existing inter-prediction performed by the video codec estimates a motion vector and estimates a motion of a macroblock of size 2Nx2N by using partitions that have a size of 2Nx2N, 2NxN, Nx2N and NxN of the macroblock. Revelation of the Invention
Technical problem
Exemplary embodiments provide video decoding encoding by performing interprediction using arbitrary partition formats. Solution to the Problem
According to one aspect of the exemplary embodiment, a method of encoding a video is provided, the method including: dividing the video data into a maximum decoding unit; encode the video data of the maximum encoding unit based on the deepest encoding units of hierarchical structures in which an encoding unit of a higher depth is divided as a depth is deepened according to at least one division region of the maximum coding unit, and determining a coding depth at which a coding result is to be produced, including inter-prediction using partitions obtained by dividing the coding unit according to arbitrary proportions; and producing a bit stream including the encoded video data corresponding to an encoding depth for the at least one region divided according to maximum encoding units and information regarding encoding depth and encoding modes. Advantageous Effects of the Invention
Image compression efficiency can be increased once an encoding unit is adjusted while considering characteristics of an image by increasing a maximum size of a encoding unit while considering an image size, according to exemplary embodiments. Even if the image data has high resolution and a large amount of data, the image data can be efficiently decoded and restored using an encoding unit size and encoding mode, which are adaptively determined from according to the characteristics of the image data, using information about an optimal encoding mode received from an encoder. Brief Description of Drawings
Figure 1 is a block diagram of an apparatus for encoding a video, according to an exemplary embodiment;
Figure 2 is a block diagram of an apparatus for decoding a video, according to an exemplary embodiment;
Figure 3 is a diagram for describing a concept of encoding units according to an exemplary embodiment;
Figure 4 is a block diagram of an image encoder based on encoding units according to an exemplary embodiment;
Figure 5 is a block diagram of an image decoder based on encoding units according to an exemplary embodiment;
Figure 6 is a diagram illustrating deeper encoding units according to depths, and partitions according to an exemplary embodiment;
Figure 7 is a diagram for describing a relationship between an encoding unit and transformation units, according to an exemplary embodiment;
Figure 8 is a diagram for describing encoding information of encoding units corresponding to an encoded depth, according to an exemplary embodiment;
Figure 9 is a diagram of deeper coding units according to depths, according to an exemplary embodiment;
Figures 10 to 12 are diagrams for depicting a relationship between encoding units, prediction units, and transforming units according to an exemplary embodiment;
Figure 13 is a diagram for describing a relationship between an encoding unit, a prediction unit or a partition, and a transforming unit, in accordance with encoding mode information from Table 1;
Figure 14 is a flowchart illustrating a method of encoding a video, according to an exemplary embodiment; and
Figure 15 is a flowchart illustrating a method of decoding a video, according to an exemplary embodiment.
Fig. 16 is a block diagram of video encoding equipment with respect to inter-prediction using partitions divided according to arbitrary proportions, according to another exemplary embodiment;
Figure 17 is a block diagram of a video decoding apparatus with respect to inter-prediction using partitions divided according to arbitrary proportions, according to another exemplary embodiment;
Figure 18 is a diagram of exemplary partitions obtained by dividing a coding unit according to arbitrary proportions, according to an exemplary embodiment;
Figure 19 illustrates a syntax of a set of sequence parameters including information regarding whether a partition type for inter-prediction includes partitions obtained by dividing a coding unit according to arbitrary proportions, in accordance with an exemplary embodiment. ;
Figure 20 is a flowchart illustrating a video encoding method with respect to inter-prediction using partitions divided according to arbitrary proportions, according to another exemplary embodiment; and
Fig. 21 is a flowchart illustrating a video decoding method with respect to inter-prediction using partitions divided according to arbitrary proportions, according to another exemplary embodiment. Best Mode for Carrying Out the Invention
According to one aspect of the exemplary embodiment, a method of encoding a video is provided, the method including: dividing the video data into a maximum encoding unit; encode the video data of the maximum encoding unit based on the deepest encoding units of hierarchical structures in which an encoding unit of a higher depth is divided as a depth goes deeper, according to at least one divided region of the maximum encoding unit, and determining an encoding depth at which an encoding result is to be produced, including inter-prediction using partitions obtained by dividing the encoding unit according to arbitrary proportions; and producing a bit stream including the encoded video data corresponding to an encoding depth for the at least one region divided according to maximum encoding units and information regarding encoding depth and encoding modes.
Depth denotes the number of times an encoding unit is hierarchically divided, and as the depth becomes greater, deeper encoding units according to depths can be divided from the maximum encoding unit so that get minimum encoding units. The depth is considered from a higher depth to a lower depth. As the depth increases, the number of times the maximum encoding unit is divided increases, and a total number of possible times the maximum encoding unit is divided corresponds to a maximum depth. The maximum size and maximum depth of the encoding unit can be predetermined.
Determining coding depth may include: selectively determining whether to perform interprediction using the partitions obtained by dividing the coding unit according to arbitrary proportions.
The output of the bit stream may include: inclusion of information indicating whether a partition type for inter-prediction includes the partitions obtained by dividing the encoding unit according to arbitrary proportions.
Partitions obtained by dividing the encoding unit according to arbitrary proportions may be partitions obtained by dividing a height and width of the encoding unit according to a ratio of 1:3 or 3:1.
The maximum encoding unit can be selectively set as at least one of the blocks having sizes of 16x16, 32x32, 64x64, 128x128 and 256x256.
The coding depth can be determined as a depth of a deepest coding unit having the highest coding efficiency among the coding results based on the deepest coding units according to the hierarchical structures of a corresponding divided region, and is independently determined for at least one region divided within the maximum encoding unit.
In accordance with another aspect of an exemplary embodiment, a method of decoding a video is provided, the method including: receiving and analyzing a bit stream with respect to encoded video data; extracting video data encoded according to maximum encoding units, and information regarding encoding depths and encoding modes according to maximum encoding units from the bit stream; and performing decoding including motion compensation using partitions obtained by dividing a coding unit according to arbitrary proportions, to a coding unit of at least one coding depth according to the maximum coding units, based on information regarding to coding depths and coding modes according to maximum coding units, where coding units of at least one coding depth are determined as one of the depths of the deepest coding units of hierarchical structures for at least one region divided from the maximum encoding unit.
Extracting the encoded video data may include: further extracting information indicating a partition type for inter-prediction includes the partitions obtained by dividing the encoding unit according to arbitrary proportions from the bit stream.
Performing the decoding may include: selectively determining whether to perform motion compensation using the partitions obtained by dividing the encoding unit according to arbitrary proportions based on information indicating a partition type for inter-prediction includes the partitions obtained by dividing the encoding unit according to arbitrary proportions extracted from the bit stream.
According to another aspect of an exemplary embodiment, equipment is provided for encoding a video, the equipment including: a maximum encoding unit splitter for dividing video data into a maximum encoding unit; an encoder for encoding the video data of the maximum encoding unit based on deeper encoding units of hierarchical structures into which a higher-depth encoding unit is divided as a depth increases, according to at least one region dividing the maximum coding unit, and determining a coding depth at which a coding result is to be produced, including inter-prediction using partitions obtained by dividing the coding unit according to arbitrary proportions; and an output unit for producing a bit stream including the encoded video data corresponding to an encoding depth for at least one region divided according to maximum encoding units and information relating to encoding depth and encoding modes.
According to another aspect of an exemplary embodiment, equipment is provided for decoding a video, the equipment including: an analyzer for receiving and analyzing a bit stream with respect to the encoded video data; an extractor for extracting video data encoded according to maximum encoding units, and information regarding encoding depths and encoding modes according to maximum encoding units from the bit stream; and a decoder for performing decoding including motion compensation using partitions obtained by dividing an encoding unit according to arbitrary proportions, to an encoding unit of at least one encoding depth according to the maximum encoding units, with based on information related to coding depths and coding modes according to maximum coding units, where coding units of at least one coding depth are determined as one of the depths of the deepest coding units of hierarchical structures for at least one region divided from the maximum encoding unit.
In accordance with another aspect of an exemplary embodiment, a recording medium readable by
computer having recorded on it a program to perform the method of encoding a video. According to another aspect of an exemplary embodiment, a computer readable recording medium is provided having a program recorded thereon for performing the method of decoding a video. MODE FOR THE INVENTION
Next, exemplary embodiments will be described more fully with reference to the accompanying drawings, in which exemplary embodiments are shown. In exemplary embodiments, "unit" may or may not refer to a unit of size, depending on its context.
Then, an "encoding unit" is an encoding data unit in which the image data is encoded by an encoder side and an encoded data unit in which the encoded image data is decoded by a decoder side, according to exemplary modalities. Also, an "encoded depth" means a depth where an encoding unit is encoded.
Then an "image" can denote a still image for a video or a moving image, that is, the video itself.
Encoding and decoding a video based on a spatially hierarchical data unit according to an exemplary embodiment will be described with reference to Figures 1 to 15, and encoding and decoding a video by inter-prediction using partitions divided by an arbitrary proportion, according to an exemplary embodiment, will be described with reference to Figures 16 to 21.
Figure 1 is a block diagram of video encoding equipment 100, according to an exemplary embodiment.
Video encoding equipment 100 includes a maximum encoding unit divider 110, an encoding unit determiner 120, and an output unit 130.
Maximum encoding unit splitter 110 can divide a current image based on a maximum encoding unit for the current frame of an image. The current frame is larger than the maximum encoding unit, the image data of the current frame can be divided into at least one maximum encoding unit. The maximum encoding unit according to an exemplary embodiment may be a data unit having a size of 32x32, 64x64, 128x128, 256x256, etc., wherein a format of the data unit is a square having a width and height in squares. of 2. The image data may be output to the encoding unit determiner 120 according to at least one maximum encoding unit.
An encoding unit according to an exemplary embodiment may be characterized by a maximum size and a depth. Depth denotes a number of times the encoding unit is spatially divided from the maximum encoding unit, and as the depth is deepened or increased, deeper encoding units, according to the depths, can be divided. from the maximum encoding unit to a minimum encoding unit.
A maximum encoding unit depth is a higher depth and a minimum encoding unit depth is a lower depth. As the size of an encoding unit corresponding to each depth decreases as the depth of the maximum encoding unit is deepened, an encoding unit corresponding to a higher depth may include a plurality of encoding units corresponding to lower depths.
As described above, the current frame image data is divided into maximum encoding units according to a maximum encoding unit size, and each of the maximum encoding units may include deeper encoding units which are divided according to the depths. As the maximum encoding unit according to an exemplary embodiment is divided according to depths, the image data of a spatial domain included in the maximum encoding unit can be hierarchically classified according to depths.
A maximum depth and maximum size of an encoding unit, which limit the total number of times the height and width of the maximum encoding unit are hierarchically divided, can be predetermined.
The encoding unit determiner 120 encodes at least one divided region obtained by dividing a region of the maximum encoding unit according to depths, and determines a depth for outputting the finally encoded image data from
according to at least one divided region. In other words, the encoding unit determiner 120 determines an encoded depth by encoding the image data in the deepest encoding units according to the depths, in accordance with the maximum encoding unit of the current frame, and selects a depth having the smallest coding error. Thus, the encoded image data of the encoding unit corresponding to the determined encoded depth is finally produced. Furthermore, the encoding units corresponding to the encoded depth can be considered as encoded encoding units.
The determined coded depth and the image data coded according to the determined coded depth is output to the output unit 130.
The image data in the maximum encoding unit is encoded based on the deepest encoding units corresponding to at least a depth equal to or below the maximum depth, and the encoding results of the image data are compared based on each of the units deeper coding. A depth having the smallest encoding error can be selected after comparing the encoding errors of the deepest encoding units. At least one coding depth can be selected for each maximum coding unit.
The maximum encoding unit size is divided as an encoding unit is divided hierarchically according to depths, and as the number of encoding units increases. Furthermore, even if the coding units correspond to the same depth in a maximum coding unit, it is determined whether to divide each of the coding units corresponding to the same depth to a lesser depth by decreasing a coding error of the image data of each encoding unit separately. Consequently, even when the image data is included in a maximum encoding unit, the image data is divided into regions according to depths, and encoding errors may differ according to the regions in that maximum encoding unit, and so encoded depths may differ according to regions in the image data. Thus, one or more coded depths can be determined in a maximum coding unit, and the image data of the maximum coding unit can be divided according to the coding units of at least one coded depth.
Accordingly, the coding unit determiner 120 can determine the coding units that have a tree structure included in the maximum coding unit. Encoding units having a tree structure according to an exemplary embodiment include encoding units corresponding to a depth determined to be the encoded depth, from all the deepest encoding units included in the maximum encoding unit. An encoding unit of an encoded depth can be determined hierarchically according to depths in the same region as the maximum encoding unit, and can be independently determined in different regions. Similarly, a depth encoded in a current region can be determined independently of a depth encoded in another region.
A maximum depth according to an exemplary embodiment is an index related to the number of times of division from a maximum encoding unit to a minimum encoding unit, i.e., the number of times the maximum encoding unit is divided into a minimum encoding unit. A first maximum depth according to an exemplary embodiment may denote the total number of division times from the maximum encoding unit to the minimum encoding unit. A second maximum depth according to an exemplary embodiment may denote the total number of depth levels from the maximum encoding unit to the minimum encoding unit. For example, when the maximum encoding unit depth is zero, a depth of one encoding unit, into which the maximum encoding unit is divided once, can be set to 1, and a depth of one encoding unit; in which the maximum encoding unit is divided twice; can be set to 2. Here, if the minimum encoding unit is an encoding unit in which the maximum encoding unit is divided four times, there are 5 levels of depth, of depth 0, 1, 2, 3 and 4, and so the first maximum depth can be set to 4, and the second maximum depth can be set to 5.
Prediction encoding and transformation can be performed according to the maximum encoding unit. Predictive coding and transformation are also performed based on the deepest coding units according to a depth equal to, or depths less than, the maximum depth according to the maximum coding unit. The transformation can be performed according to an orthogonal transformation method or an integer transformation.
As the number of deepest encoding units increases whenever the maximum encoding unit is divided according to depths; coding including prediction coding and transformation is performed on all units and deeper coding generated as depth is deepened. For convenience of description, the prediction encoding and transformation will now be described based on an encoding unit of a current depth, into a maximum encoding unit.
Video encoding equipment 100 may variably select a size or format of a data unit to encode the image data. To encode the image data, operations such as prediction encoding, transformation, and entropy encoding are performed at which time, the same data unit can be used for all operations or different data units can be used for each operation. .
For example, video encoding equipment 100 can select not only an encoding unit to encode the image, but also a data unit other than the encoding unit in order to perform prediction encoding on the image data in the encoding unit. .
To perform prediction coding in the maximum coding unit, prediction coding can be performed on the basis of a coding unit corresponding to a coded depth, i.e. based on a coding unit which is no longer divided into a coding unit. encoding corresponding to a lower depth. Then, the encoding unit that is no longer split and becomes a base unit for prediction encoding will now be referred to as a prediction unit. A partition obtained by dividing the prediction unit may include a prediction unit or a data unit obtained by dividing at least one of a height and a width of the prediction unit.
For example, when a 2Nx2N encoding unit (where N is a positive integer) is no longer divided and becomes a 2Nx2N prediction unit, and a partition size can be 2Nx2N, 2NxN, Nx2N, or NxN. Examples of a partition type include symmetric partitions that are obtained simply by dividing a prediction unit's height or width, partitions obtained by asymmetrically dividing the prediction unit's height or width, such as 1:n or n:1, partitions which are obtained by geometric division of the prediction unit, and partitions which have arbitrary formats.
A prediction mode of the prediction unit can be at least one of: an intra-mode, an inter-mode, and a jump mode. For example, intra-mode or inter-mode can be performed on the partition of 2Nx2N, 2NxN, Nx2N, or NxN. Also, jump mode can only be performed on 2Nx2N partition. Encoding is performed independently on a prediction unit in an encoding unit, thereby selecting a prediction mode that has the smallest encoding error.
The video encoding equipment 100 can also perform the transformation on the image data in an encoding unit based not only on the encoding unit for encoding the image data, but also on the basis of the data unit which is different from the video encoding unit. codification.
To perform the transformation on the encoding unit, the transformation can be performed on the basis of a data unit that has a size less than or equal to the encoding unit. For example, the data unit for the transformation may include a data unit for an intra-mode and a data unit for an inter-mode.
A unit of data used as a base of the transformation will now be referred to as a “unit of transformation”. A transform depth indicating the number of division times to reach the transform unit by dividing the coding unit height and width can be set in the transform unit. For example, in a current encoding unit of 2Nx2N, a transform depth might be 0 when the size of a transform unit is also 2Nx2N, it might be 1 when each of the height and width of the current encoding unit is divided into two equal parts, divided fully into 4A1 transform units, and the size of transform unit is thus NxN, and it can be 2 when each of the current encoding unit's height and width is divided into four equal parts, fully divided into 4A1 units of transformation and the size of the transformation units is thus N/2xN/2. For example, the transformation unit can be adjusted according to a hierarchical tree structure, in which one transformation unit, of a higher transformation depth, is divided into four transformation units of a lower transformation depth, according to the hierarchical characteristics of a transformation depth.
Similar to the encoding unit, the transform unit in the encoding unit can be recursively divided into smaller sized regions, so that the transform unit can be independently determined in region units. Thus, the residual data in the encoding unit can be split according to the transformation having the tree structure according to the transformation depths.
Encoding information according to encoding units corresponding to an encoded depth requires not only information about the encoded depth, but also information related to encoding prediction and transformation.
Consequently, the encoding unit determiner 120 not only determines an encoded depth having a smaller encoding error, but also determines a partition type in a prediction unit, a prediction mode according to prediction units, and a size. of a processing unit for processing.
Encoding units according to a tree structure in a maximum encoding unit and a method of determining a partition, according to exemplary embodiments, will be described in detail later with reference to Figures 3 to 12.
The coding unit determiner 120 can measure a coding error of deeper coding units according to depths by using Rate-Distortion Optimization based on Lagrangian multipliers.
Output unit 130 outputs the image data from the maximum encoding unit, which is encoded based on the lowest encoded depth determined by encoding unit determiner 120, and encoding mode information in accordance with the encoded depth, in bit streams.
Encoded image data can be obtained by encoding the residual data of an image.
Information about the encoding mode according to the encoded depth may include information about the encoded depth, about the type of partition in the prediction unit, the prediction mode, and the size of the transformation unit.
The encoded depth information can be defined using depth-divided information, which indicates whether encoding is performed in encoding units of a lower depth rather than a current depth. If the current depth of the current encoding unit is the encoded depth, the image data in the current encoding unit is encoded and output, and so the split information can be set not to split the current encoding unit to a lower depth. Alternatively, if the current depth of the current encoding unit is not the encoded depth, encoding is performed in the encoding unit of the lowest depth, and so the divided information can be set to divide the current encoding unit to obtain the encoding units of the lowest depth. lowest depth encoding.
If the current depth is not the encoded depth, encoding is performed in the encoding unit which is divided into the lowest depth encoding unit. As there is at least one lowest depth encoding unit in a current depth encoding unit, encoding is performed repeatedly on each lowest depth encoding unit, and thus encoding can be performed recursively for the lowest depth encoding units. encoding that have the same depth.
As encoding units having a tree structure are determined for a maximum encoding unit, and information about at least one encoding mode is determined for an encoding unit of a
encoded depth, information about at least one encoding mode can be determined for a maximum encoding unit. Furthermore, an encoded depth of the image data of the maximum encoding unit may be different according to the locations since the image data is hierarchically divided according to the depths, and thus the information about the encoded depth and the mode encoding can be adjusted for the image data.
Accordingly, the output unit 130 can assign encoding information about a corresponding encoding depth and encoding mode to at least one of encoding unit, prediction unit, and a minimum unit included in the maximum encoding unit.
The minimum unit according to an exemplary embodiment is a rectangular data unit obtained by dividing by 4 the minimum encoding unit constituting the lowest depth. Alternatively, the minimum unit may be a maximum rectangular data unit that can be included in all encoding units, prediction units, partition units, and transformation units included in the maximum encoding unit.
For example, the coding information output through the output unit 130 can be classified into coding information according to the coding units, and coding information according to the prediction units. The coding information according to the coding units can include information about the prediction mode and about the size of the partitions.
The coding information according to the prediction units may include information about an estimated direction of an inter-mode, about an inter-mode reference image index, about a motion vector, about a chroma component of an intra-mode. mode, and about an intra-mode interpolation method. In addition, information about a maximum size of the encoding unit defined according to illustrations, slices, or GOPs, and information about a maximum depth can be entered into an SPS (Sequence Parameter Set) or a bitstream header. .
In the video encoding apparatus 100, the deeper encoding unit may be an encoding unit obtained by dividing a height or width of a higher depth encoding unit, which is one layer above, by two. In other words, when the current depth encoding unit size is 2Nx2N, the bottom depth encoding unit size is NxN. Also, the current depth coding unit having the size of 2Nx2N can include a maximum of 4 of the lower depth coding units.
Accordingly, the video coding equipment 100 can form the coding units having the tree structure by determining the coding units having an optimum size and an optimum size for each maximum encoding unit, based on the size of the maximum encoding unit. and the maximum depth determined considering the characteristics of the current frame. Furthermore, as encoding can be performed on each maximum encoding unit using any of several prediction and transformation modes, an optimal encoding mode can be determined by considering encoding unit characteristics of various image sizes.
Thus, if an image having high resolution or large amount of data is encoded in a conventional macroblock, the number of macroblocks per frame increases excessively. Consequently, a number of pieces of compressed information generated for each macroblock increases, and so it is difficult to transmit the compressed information and the efficiency of data compression decreases. However, by using the video encoding equipment 100, the image compression efficiency can be increased once an encoding unit is adjusted while considering the characteristics of an image while increasing a maximum size of an encoding unit while considering a image size.
Figure 2 is a block diagram of a video decoding apparatus 200, according to an exemplary embodiment.
Video decoding equipment 200 includes a receiver 210, an image data and encoding information extractor 220, and an image data decoder 230. Definitions of various terms, such as an encoding unit, a depth, a prediction unit, a transforming unit, and information about various encoding modes, for various operations of the video decoding equipment 200 are identical to those described with reference to Figure 1 and the video encoding equipment 100.
Receiver 210 receives and analyzes an encoded video bit stream. The coding information and image data extractor 220 extracts the coded image data for each coding unit from the analyzed bit stream, wherein the coding units have a tree structure according to each maximum coding unit, and outputs the extracted image data to the image data decoder 230. The encoding information and image data extractor 220 can extract information about a maximum size of an encoding unit of a current frame from a header about the current frame or SPS.
Furthermore, the coding information and image data extractor 220 extracts information about a coded depth and an coding mode for coding units having a tree structure according to each maximum coding unit from the bit stream. analyzed. The extracted information about the encoded depth and encoding mode is output to the image data decoder 230. In other words, the image data in a bit stream is split to the maximum encoding unit so that the image data decoder image data 230 decodes the image data for each maximum encoding unit.
Information about the encoded depth and encoding mode according to the maximum encoding unit may be adjusted to information about at least one encoding unit corresponding to the encoded depth, and information about an encoding mode may include information about a type of encoding. partition of a corresponding encoding unit, corresponding to the encoded depth, over a prediction mode, and a transformation unit size. Furthermore, information divided according to depths can be extracted as encoded depth information.
The information about the encoded depth and the encoding mode according to each maximum encoding unit extracted by the image data and encoding information extractor 220 is information about an encoded depth and an encoding mode determined to generate a minimum encoding error. when an encoder, such as video encoding equipment 100, repeatedly performs encoding for each deeper encoding unit according to depths according to each maximum encoding unit. Accordingly, the video decoding apparatus 200 can restore an image by decoding the image data according to an encoded depth and an encoding mode that generates the minimum encoding error.
As the coding information about the coded depth and the coding mode can be assigned to a predetermined data unit among a corresponding coding unit, a prediction unit, and a minimum unit, the coding information extractor and image data 220 can extract the information about the encoded depth and the encoding mode according to predetermined data units. The predetermined data units to which the same information about the encoded depth and encoding mode is assigned can be inferred to be the data unit included in the same maximum encoding unit.
The image data decoder 230 restores the current frame by decoding the image data in each maximum encoding unit based on the encoded depth information and the encoding mode according to the maximum encoding units. In other words, the image data decoder 230 can decode the decoded image data based on the extracted information about the partition type, prediction mode, and transformation unit for each encoding unit among the encoding units that have the tree structure included in each maximum encoding unit. A decoding process may include a prediction including intra-prediction and motion compensation, and an inverse transformation. The inverse transformation can be performed according to the inverse orthogonal transformation or inverse integer transformation method.
The picture data decoder 230 can perform intra-prediction or motion compensation according to a partition and a prediction mode of each encoding unit, based on information about the partition type and prediction mode of the prediction unit. of the coding unit according to the coded depths.
Furthermore, the picture data decoder 230 can perform inverse transformation according to each transform unit in the encoding unit, based on information about the transform unit size of the encoding unit according to the encoded depths, so to perform the inverse transformation according to the maximum encoding units.
The picture data decoder 230 can determine at least an encoded depth of a current maximum encoding unit using information divided according to depths. If the split information indicates that the image data is no longer split at the current depth, the current depth is an encoded depth. Accordingly, the picture data decoder 230 can decode the encoded data of at least one encoding unit corresponding to each encoded depth in the current maximum encoding unit by using information about the partition type of the prediction unit, the prediction mode , and the transform unit size for each encoding unit corresponding to the encoded depth, and output the image data of the current maximum encoding unit.
In other words, data units containing coding information including the same divided information can be compiled by looking at the set of coding information assigned to the predetermined data unit from among the coding unit, the prediction unit, and the coding unit. minimum, and the compiled data units can be considered to be a data unit to be decoded by the picture data decoder 230 in the same encoding mode.
Video decoding equipment 200 can obtain information about at least one encoding unit that generates the minimum encoding error when encoding is performed recursively for each maximum encoding unit, and can use the information to decode the current image. In other words, encoding units having the tree structure determined to be the optimal encoding unit at each maximum encoding unit can be decoded. Also, the maximum size of the encoding unit is determined considering the resolution and an amount of image data.
Consequently, even if the image data has high resolution and a large amount of data, the image data can be efficiently decoded and restored by using an encoding unit size and encoding mode, which are determined accordingly. adaptively according to the characteristics of the image data, using information about an optimal encoding mode received from an encoder.
A method of determining encoding units having a tree structure, a prediction unit, and a transform unit, according to an exemplary embodiment, will now be described with reference to Figures 3 to 13.
Figure 3 is a diagram for describing a concept of encoding units according to an exemplary embodiment.
A size of an encoding unit can be expressed in width x height, and can be 64x64, 32x32, 16x16 and 8x8. A 64x64 encoding unit can be divided into 64x64, 64x32, 32x64 or 32x32 partitions, and a 32x32 encoding unit can be divided into 32x32, 32x16, 16x32, or 16x16 partitions, a 16x16 encoding unit can be divided into 16x16, 16x8, 8x16 or 8x8 partitions, and an 8x8 encoding unit can be divided into 8x8, 8x4, 4x8 or 4x4 partitions.
In 310 video data, a resolution is 1920x1080, a maximum size of an encoding unit is 64, and a maximum depth is 2. In video data 320, a resolution is 1920x1080, a maximum encoding size is of 64, and a maximum depth is 3. In video data 330, a resolution is 352x288, a maximum size of an encoding unit is 16, and a maximum depth is 1. The maximum depth shown in Figure 3 denotes a total number of divisions from a maximum encoding unit to a minimum decoding unit.
If the resolution is high or the amount of data is large, a maximum size of an encoding unit can be so large as to not only increase encoding efficiency, but also accurately reflect the characteristics of an image. Accordingly, the maximum size of encoding unit of video data 310 and 320 having higher resolution than video data 330 can be 64.
As the maximum depth of video data 310 is 2, encoding units 315 of video data 310 may include a maximum encoding unit having a long axis size of 64, and encoding units having long axis sizes of 32 and 16 since the depths are deepened to two layers by dividing the maximum encoding unit twice. However, since the maximum depth of video data 330 is 1, encoding units 335 of video data 330 may include a maximum encoding unit having a long axis size of 16, and encoding units having an axis size of 16. along 8 as depths are deepened for one layer by dividing once from the maximum encoding unit.
As the maximum depth of video data 320 is 3, encoding units 325 of video data 320 may include a maximum encoding unit having a long axis size of 64, and encoding units having long axis sizes of 32 , 16 and 8 as the depths are deepened to 3 layers by dividing the maximum encoding unit three times. As depth is deepened, detailed information can be accurately expressed.
Figure 4 is a block diagram of an image encoder 400 based on encoding units, according to an exemplary embodiment.
The image encoder 400 performs operations of the encoding unit determiner 120 of the video encoding equipment 100 to encode the image data. In other words, an intra-predictor 410 performs intra-prediction on encoding units in an intra-mode, within a current frame 405, and a motion estimator 420 and motion compensator 425 performs inter-estimation and motion compensation on the encoding units in an inter-mode between the current frame 405 by using the current frame 405, and a reference frame 495.
Data output from intrapredictor 410, motion estimator 420, and motion compensator 425 is output as a quantized transformation coefficient through transformer 430 and a quantizer 440. The quantized transformation coefficient is restored as data in a spatial domain through an inverse quantizer 460 and an inverse transformer 470, and the data restored in the spatial domain is output as the reference frame 495 after being post-processed through an unblocking unit 480 and a loop filtering unit 490 The quantized transform coefficient can be output as a 455 bit stream through an entropy encoder 450.
In order for image encoder 400 to be applied to video encoding equipment 100, all elements of image encoder 400, i.e. intrapredictor 410, motion estimator 420, motion compensator 425, transformer 430 , quantizer 440, entropy encoder 450, inverse quantizer 460, inverse transformer 470, deblocking unit 480, and loop filtering unit 490 perform operations based on each encoding unit among encoding units having a tree structure while considering the maximum depth of each maximum encoding unit.
Specifically, intra-predictor 410, motion estimator 420, and motion compensator 425 determine partitions and a prediction mode of each encoding unit among encoding units having a tree structure while considering maximum size and depth. maximum of a current maximum encoding unit, and transformer 430 determines the size of the transform unit in each encoding unit among the encoding units having a tree structure.
Figure 5 is a block diagram of a picture decoder 500 based on encoding units, according to an exemplary embodiment.
An analyzer 510 analyzes the encoded image data to be decoded and encoding information required for decoding from a bit stream 505. The encoded image data is output as inverse quantized data through an entropy decoder 520 and a quantizer. inverse 530, and the inverse quantized data is restored to image data in a spatial domain through an inverse transformer 540.
An intra-predictor 550 performs intra-prediction on the encoding units in an intra-mode with respect to image data in the spatial domain, and a motion compensator 560 performs motion compensation on the encoding units in an inter-mode using a frame of reference 585.
The image data in the spatial domain, which has passed through intra-predictor 550 and motion compensator 560, can be output as a restored frame 595 after being post-processed through a deblocking unit 570 and an image filtering unit 570. loop 580. In addition, image data that is post-processed through unlocking unit 570 and loop filtering unit 580 can be output as reference frame 585.
To decode the image data in the image data decoder 230 of the video decoding equipment 200, the image decoder 500 can perform operations that are performed after the analyzer 510.
In order for the picture decoder 500 to be applied to the video decoding equipment 200, all elements of the picture decoder 500, i.e., the analyzer 510, the entropy decoder 520, the inverse quantizer 530, the inverse transformer 540, the intra-predictor 550, motion compensator 560, unlocking unit 570, and loop filtering unit 580 perform operations based on encoding units having a tree structure for each maximum encoding unit.
Specifically, intra-prediction 550 and motion compensator 560 perform operations based on partitions and a prediction mode for each of the encoding units having a tree structure, and inverse transformer 540 performs operations based on a size of one transformation unit for each encoding unit.
Figure 6 is a diagram illustrating deeper encoding units according to depths, and partitions, according to an exemplary embodiment.
Video encoding equipment 100 and video decoding equipment 200 use hierarchical encoding units in order to account for the characteristics of an image. A maximum height, a maximum width, and a maximum depth of the encoding units can be adaptively determined according to the image characteristics, or they can be adjusted differently by a user. Deeper encoding unit sizes, according to the depths, can be determined according to the predetermined maximum encoding unit size.
In a hierarchical structure 600 of the encoding units, according to an exemplary embodiment, the maximum height and maximum width of the encoding units are individually 64, and the maximum depth is 4. As a depth is deepened along a vertical axis of the hierarchical structure 600, a height and width of the deepest encoding unit are individually divided. In addition, a prediction unit and the partitions, which are the basis for encoding prediction of each deeper encoding unit, are shown along a horizontal axis of the hierarchical structure 600.
In other words, an encoding unit 610 is a maximum encoding unit in the hierarchical structure 600, where a depth is 0 and a size, i.e., height per width, is 64x64. The depth is deepened along the vertical axis, and there is an encoding unit 620, having a size of 32x32, and a depth of 1; an encoding unit 630, having a size of 16x16, and a depth of 2; a coding unit 640, having a size of 8x8, and a depth of 3; and an encoding unit 650 having a size of 4x4 and a depth of 4. Encoding unit 650 having a size of 4x4 and a depth of 4 is a minimum encoding unit.
The prediction unit and the partitions of an encoding unit are arranged along the horizontal axis according to each depth. In other words, if the coding unit 610, having the size of 64x64, and the depth of 0, is a prediction unit, the prediction unit can be divided into partitions included in the coding unit 610, that is, a partition 610 having a size of 64x64, partitions 612 having a size of 64x32, partitions 614 having a size of 32x64, or partitions 616 having a size of 32x32.
Similarly, a prediction unit of encoding unit 620 having a size of 32x32 and a depth of 1 may be divided into partitions included in encoding unit 620, i.e., a partition 620 having a size of 32x32, partitions 622 having a size of 32x16, partitions 624 having a size of 16x32, and partitions 626 having a size of 16x16.
Similarly, a prediction unit of encoding unit 630 having a size of 16x16 and a depth of 2 may be divided into partitions included in encoding unit 630, i.e., a partition having a size of 16x16 included in encoding unit 630, partitions 632 having a size of 16x8, partitions 634 having a size of 8x16, and partitions 636 having a size of 8x8.
Similarly, a prediction unit of encoding unit 640 having a size of 8x8 and a depth of 3 may be divided into partitions included in encoding unit 640, i.e., a partition having a size of 8x8 included in encoding unit 640, partitions 642 having a size of 8x4, partitions 644 having a size of 4x8, and partitions 646 having a size of 4x4.
The encoding unit 650 having a size of 4x4 and a depth of 4 is the minimum encoding unit and a encoding unit of the lowest depth. A prediction unit of encoding unit 650 is assigned only to a partition having a size of 4x4.
To determine the at least one coded depth of the coding units constituting the maximum coding unit 610, the coding unit determiner 120 of the video coding equipment 100 performs coding for the coding units corresponding to each depth included in the coding unit maximum 610.
A number of deeper encoding units, according to depths including data in the same range and in the same size, increases as the depth is deepened. For example, four encoding units corresponding to a depth of 2 are required to cover the data that is included in one encoding unit corresponding to a depth of 1. Accordingly, to compare encoding results of the same data according to depths , the encoding unit corresponding to the depth of 1; and four encoding units corresponding to the depth of 2; are individually coded.
To perform coding for a current depth between depths, a minimum coding error can be selected for the current depth by performing coding for each prediction unit in the coding units corresponding to the current depth, along the horizontal axis of the hierarchical structure 600. Alternatively, the minimum coding error can be searched by comparing the minimum coding errors according to depths, by performing coding for each depth as the depth is deepened along the vertical axis of the hierarchical structure 600. A depth and a partition having the minimum encoding error at encoding unit 610 can be selected as the encoded depth and a partition type of encoding unit 610.
Figure 7 is a diagram for describing a relationship between an encoding unit 710 and transforming units 720, according to an exemplary embodiment.
Video encoding equipment 100 or 200 encodes or decodes an image in accordance with encoding units having sizes less than or equal to one maximum encoding unit for each maximum encoding unit. Transform unit sizes for transformation during encoding can be selected based on data units that are not larger than a corresponding encoding unit.
For example, in video encoding equipment 100 or 200, if a size of the encoding unit 710 is 64x64, the transformation can be performed using transforming units 720 having a size of 32x32.
Furthermore, data from encoding unit 710 having a size of 64x64 can be encoded by performing the transformation on each of the transforming units having a size of 32x32, 16x16, 8x8, and 4x4, which are smaller than 64x64, and then a transform unit having the minimum coding error can be selected.
Figure 8 is a diagram for describing encoding information of encoding units corresponding to an encoded depth, according to an exemplary embodiment.
Output unit 130 of video encoding equipment 100 can encode and transmit information 800 about a partition type, information 810 about a prediction mode, and information 820 about a size of a transform unit for each encoding unit corresponding to an encoded depth, such as information about an encoding mode.
Information 800 indicates information about a format of a partition obtained by dividing a prediction unit from a current encoding unit, wherein the partition is a data unit for predicting encoding from the current encoding unit. For example, a current encoding unit CU_0 having a size of 2Nx2N can be split into any one of a partition 802 having a size of 2Nx2N, an 804 partition having a size of 2NxN, a partition of 806 having a size of Nx2N, and an 808 partition having a size of NxN. Here, information 800 about a partition type is set to indicate one of partition 804 having a size of 2NxN, partition 806 having a size of Nx2N, and partition 808 having a size of NxN.
Information 810 indicates a prediction mode for each partition. For example, information 810 may indicate a prediction encoding mode performed on a partition indicated by information 800, i.e., an intra-mode 812, an inter-mode 814, or a hop mode 816.
Information 820 indicates a unit of transformation to be based on when the transformation is performed on a current encoding unit. For example, the transform unit can be a first intra-transform unit 822, a second intra-transform unit 824, a first inter-transform unit 826, or a second intra-transform unit 828.
The image data and encoding information extractor 220 of video decoding equipment 200 can extract and use information 800, 810 and 820 for decoding, according to each deeper encoding unit.
Figure 9 is a diagram of deeper encoding units according to depths, according to an exemplary embodiment.
Split information can be used to indicate a change of depth. Split information indicates whether an encoding unit of a current depth is divided into encoding units of a lower depth.
A prediction unit 910 for encoding prediction of an encoding unit 900 having a depth of 0 and a size of 2N_0x2N_0 may include partitions of a partition type 912 having a size of 2N_0x2N_0, a partition type 914 having a size of 2N_0xN_0 , a partition type 916 having a size of N_0x2N_0, and a partition type 918 having a size of N_0xN_0. Figure 9 only illustrates the partition types 912 to 918 which are obtained by symmetrical division of the prediction unit 910, however a partition type is not limited to that, and the partitions of the prediction unit 910 can include asymmetric partitions, partitions having a predetermined shape and partitions having a geometric shape.
The prediction coding is performed repeatedly on one partition having a size of 2N_0x2N_0, two partitions having a size of 2N_0xN_0, two partitions having a size of N_0x2N_0, and four partitions having a size of N_0xN_0, according to each partition type . The prediction coding in an intra-mode and in an inter-mode can be performed on partitions having the sizes of 2N_0x2N_0, N_0x2N_0, 2N_0xN_0 and N_0xN_0. Prediction encoding in a jump mode is performed only on the partition having the size of 2N_0x2N_0.
Encoding errors including prediction encoding in partition types 912 to 918 are compared, and the minimum encoding error is determined between partition types. If an encoding error is minor on one of partition types 912 to 916, then the prediction unit 910 may not be split to a lower depth.
If the coding error is the smallest in partition type 918, a depth is changed from 0 to 1 to divide partition type 918 in operation 920, and coding is performed repeatedly on coding units 930 having a depth of 2 and a size of N_0xN_0 to look for a minimal encoding error.
A prediction unit 940 for encoding prediction encoding unit 930 having a depth of 1 and a size of 2N_1x2N_1(=N_0xN_0) may include partitions of a partition type 942 having a size of 2N_1x2N_1, a partition type 944 having a size of 2N_1xN_1, a partition type 946 having a size of N_1x2N_1, and a partition type 948 having a size of N_1xN_1.
If an encoding error is the smallest in partition type 948, a depth is changed from 1 to 2 to divide partition type 948 in operation 950, and encoding is performed repeatedly on encoding units 960, which have a depth of 2 and a size of N_2xN_2 to look for a minimal encoding error.
When a maximum depth is d, the division operation according to each depth can be performed until when a depth becomes d-1, and the divided information can be encoded even when a depth is one from 0 to d-2. In other words, when encoding is performed up to when the depth is d-1 after a encoding unit corresponding to a depth of d-2 is divided in operation 970, a prediction unit 990 for encoding prediction of a encoding unit 980 having a depth of d-1 and a size of 2N_(d-1)x2N_(d-1) may include partitions of a partition type 992 having a size of 2N_(d-1)x2N_(d-1), a partition type 994 having a size of 2N_(d-1)xN_(d-1), a partition type 996 having a size of N_(d-1)x2N_(d-1), a partition type 998 having a size of N_(d-1)xN_(d-1).
Prediction coding can be performed repeatedly on one partition having a size of 2N_(d-1)x2N_(d-1), two partitions having a size of 2N_(d-1)xN_(d-1), two partitions having a size of N_(d-1)x2N_(d-1), four partitions having a size of N_(d-1)xN_(d-1) among partition types 992 to 998 to look for a partition type having an error minimum encoding.
Even when partition type 998 has the minimum encoding error, as a maximum depth is d, an encoding unit CU_(d-1) having a depth of d-1 is no longer split to a lower depth, and a coded depth for the encoding units constituting a current maximum encoding unit 900 is determined to be d-1 and a partition type of the current maximum encoding unit 900 can be determined to be N_(d-1)xN_(d-1 ). Also, as the maximum depth is d and a minimum encoding unit 980 having the lowest depth of d-1 is no longer split to a lower depth, the split information for the minimum encoding unit 980 is not established.
Data unit 999 can be a minimum unit to the current maximum encoding unit. A minimum unit according to an exemplary embodiment may be a rectangular data unit obtained by dividing a minimum encoding unit 980 by 4. By performing the encoding repeatedly, the video encoding apparatus 100 may select a depth having the error of minimal coding by comparing the coding errors according to the depths of the coding unit 900 to determine an coded depth, and establishing a corresponding partition type and prediction mode as a coding depth coding mode.
As such, the minimum encoding errors according to depths are compared across all depths from 1 to d, and the depth having the smallest encoding error can be determined as an encoded depth. The encoded depth, the prediction unit partition type, and the prediction mode can be encoded and transmitted as information about an encoding mode. Also, as an encoding unit is divided from a depth of 0 to an encoded depth, only the divided information of the encoded depth is set to 0, and the divided information of the depths excluding the encoded depth is set to 1.
The encoding information and picture data extractor 220 of the video decoding equipment 200 can extract and use the encoded depth information and the prediction unit of the encoding unit 900 to decode the partition 912. The video decoding equipment 200 can determine a depth, at which the split information is 0, as an encoded depth using the information split according to the depths, and use the information about a corresponding depth encoding mode for decoding.
Figures 10 to 12 are diagrams for depicting a relationship between encoding units 1010, prediction units 1060, and transforming units 1070, according to an exemplary embodiment.
Encoding units 1010 are coding units having a tree structure, corresponding to coded depths determined by video coding equipment 100, at a maximum coding unit. The prediction units 1060 are partitions of the prediction units of each of the encoding units 1010, and the transform units 1070 are transformation units of each of the encoding units 1010.
When a maximum encoding unit depth is 0 at encoding units 1010, encoding units depths 1012 and 1054 are 1, encoding units depths 1014, 1016, 1018, 1028, 1050, and 1052 are 2, the depths of decoding units 1020, 1022, 1024, 1026, 1030, 1032 and 1048 are 3, and the depths of encoding units 1040, 1042, 1044 and 1046 are 4.
In the prediction units 1060, some encoding units 1014, 1016, 1022, 1032, 1048, 1050, 1052, 1054 are obtained by dividing the encoding units into the encoding units 1010. In other words, partition types in the encoding units 1014, 1022, 1050, and 1054 have a size of 2NxN, partition types in encoding units 1016, 1048, and 1052 have a size of Nx2N, and a partition type of encoding unit 1032 has a size of NxN. The prediction units and partitions of encoding units 1010 are less than or equal to each encoding unit.
Transforming or inverse transforming is performed on the image data of encoding unit 1052 in transforming units 1070 into a data unit that is smaller than encoding unit 1052. Further, encoding units 1014, 1016, 1022, 1032 , 1048, 1050 and 1052 in transforming units 1070 are different from those in prediction units 1060 in terms of sizes and shapes. In other words, video encoding and decoding apparatus 100 and 200 can perform intra-prediction, motion estimation, motion compensation, transformation, and inverse transformation individually on a data unit in the same encoding unit.
Consequently, coding is performed recursively on each of the coding units having a hierarchical structure in each region of a maximum coding unit to determine an optimal coding unit, and thus coding units having a recursive tree structure can be obtained. The encoding information may include split information about an encoding unit, information about a partition type, information about a prediction mode, and information about a size of a transform unit. Table 1 shows the encoding information that can be set by video encoding and decoding equipment 100 and 200.


The output unit 130 of the video coding equipment 100 can output the coding information about the coding units having a tree structure, and the coding information and image data extractor 220 of the video decoding equipment 200 can extract encoding information about encoding units having a tree structure from a received bit stream.
Split information indicates whether a current encoding unit is divided into encoding units of a lower depth. If the information split from a current depth d is 0, a depth, at which a current encoding unit is no longer split at a lower depth, is an encoded depth, and so information about a partition type, the prediction mode , and a size of one transform unit, can be set to the encoded depth. If the current encoding unit is further divided according to the divided information, encoding is performed independently on four divided encoding units of a lower depth.
A prediction mode can be one of: an intra-mode, an inter-mode, and a jump mode. Intra-mode and inter-mode can be set on all partition types, and jump mode is set only on a partition type having a size of 2Nx2N.
Partition type information can indicate symmetric partition types having sizes of 2Nx2N, 2NxN, Nx2N, and NxN, which are obtained by symmetrically dividing a height or width of a prediction unit, and partition types asymmetric having sizes of 2NxnU, 2NxnD, nLx2N and nRx2N, which are obtained by dividing asymmetrically the height or width of the prediction unit. Asymmetric partition types having sizes of 2NxnU and 2NxnD can be obtained respectively by dividing the height of the prediction unit into 1:3 and 3:1, and asymmetric partition types having sizes of nLx2N and nRx2N can be obtained respectively by dividing the width of the prediction unit into 1:3 and 3:1.
The size of the transform unit can be set to be of two types in intra-mode and of two types in inter-mode. In other words, if the transform unit information divided is 0, the transform unit size can be 2Nx2N, which is the current encoding unit size. If the transform unit divided information is 1, the transform units can be obtained by dividing the current encoding unit. Also, if a division type of the current encoding unit having the size of 2Nx2N is an asymmetric partition type, a size of a transform unit can be NxN, and if the partition type of the current encoding unit is a type of asymmetric partition, the size of the transform unit can be N/2xN/2.
Encoding information about encoding units having a tree structure may include at least one of an encoding unit corresponding to an encoded depth, a prediction unit, and a minimum unit. The encoding unit corresponding to the encoded depth may include at least one of a prediction unit and a minimum unit containing the same encoding information.
It is therefore determined whether the adjacent data units are included in the same encoding unit corresponding to the encoded depth by comparing the encoding information of the adjacent data units. Furthermore, a corresponding encoding unit corresponding to an encoded depth is determined using encoding information from a data unit, and thus a distribution of the encoded depths in a maximum encoding unit can be determined.
Consequently, if a current encoding unit is predicted based on encoding information from adjacent data units, encoding information from data units in deeper encoding units adjacent to the current encoding unit can be directly queried and used.
Alternatively, if a current encoding unit is predicted based on encoding information from adjacent data units, the data units adjacent to the current encoding unit are searched using encoding information from the data units, and the Adjacent encodings sought can be referred to for prediction of the current encoding unit.
Figure 13 is a diagram for describing a relationship between an encoding unit, a prediction unit or a partition, and a transform unit, in accordance with the encoding mode information of Table 1.
The maximum coding unit 1300 includes coding units 1302, 1304, 1306, 1312, 1314, 1316 and 1318 of coded depths. Here, as the encoding unit 1318 is an encoding unit of an encoded depth, the divided information can be set to 0. The information about a partition type of the encoding unit 1318 having a size of 2Nx2N can be set to be a of: a partition type 1322 having a size of 2Nx2N, a partition type 1324 having a size of 2NxN, a partition type 1326 having a size of Nx2N, a partition type 328 having a size of NxN, a partition type 1332 having a size of 2NxnU, a partition type 1334 having a size of 2NxnD, a partition type 1336 having a size of nLx2N, and a partition type 1338 having a size of nRx2N.
When the partition type is set to be symmetric, that is, partition type 1322, 1324, 1326, or 1328, a transform unit 1342 having a size of 2Nx2N is established if split information (TU size flag) of a unit of transform is 0, and a transform unit 1344 having a size of NxN is set if a flag of size TU is 1.
When the partition type is set to be asymmetric, that is, partition type 1332, 1334, 1336, or 1338, a transform unit 1352 having a size of 2Nx2N is set if a TU size flag is 0, and a unit 1354 having a size of N/2xN/2 is set if a TU size flag is 1.
Referring to Figure 13, the TU size flag is a flag having a value of 0 or 1, but the TU size flag is not limited to 1 bit, and the transformation unit can be divided hierarchically having a structure of tree while the TU size flag increases from 0.
In this case, the size of a transformation unit that was actually used can be expressed using a TU size flag of a transformation unit, according to an exemplary modality, together with a maximum size and a minimum unit size. of transformation. According to an exemplary embodiment, the video encoding apparatus 100 is capable of encoding maximum transform unit size information, minimum transform unit size information, and a maximum TU size flag. The result of encoding the maximum transform unit size information, minimum transform unit size information, and the maximum TU size flag can be input into an SPS. According to an exemplary embodiment, the video encoding apparatus 200 can decode video using the maximum transform unit size information, the minimum transform unit size information, and the maximum TU size flag.
For example, if the size of a current encoding unit is 64x64 and a maximum transform unit size is 32x32, then the size of a transform unit can be 32x32 when a TU size flag is 0, it can be 16x16 when the TU size flag is 1, and can be 8x8 when TU size flag is 2.
As another example, if the current encoding unit size is 32x32 and a minimum transform unit size is 32x32, then the transform unit size can be 32x32 when the TU size flag is 0. Here the size flag TU cannot be set to a value other than 0, since the size of the transform unit cannot be smaller than 32x32.
As another example, if the current encoding unit size is 64x64 and a maximum TU size flag is 1, then the TU size flag can be either 0 or 1. Here, the TU size flag cannot be set to a value different from 0 or 1.
So if it is defined that the maximum TU size flag is "MaxTransformSizeIndex", a minimum transform unit size is "MinTransformSize", and a transform unit size is "RootTuSize" when the TU size flag is 0, then a current minimum transform unit size "CurrMinTuSize" which can be determined in a current encoding unit, can be defined by Equation (1):CurrMinTuSize=max(MinTransformSize, RootTuSize/(2AMaxTransformSizeIndex))... (1)
Compared to the current minimum transform unit size "CurrMinTuSize" which can be determined in the current encoding unit, a transform unit size "RootTuSize" when the TU size flag is 0, can denote a transform unit size maximum that can be selected in the system. In Equation (1), "RootTuSize(2AMaxTransformSizeIndex)" denotes a transform unit size when transform unit size "RootTuSize", when the TU size flag is 0 it is divided by the number of times corresponding to the size flag Maximum TU, ee "MintransformSize" denotes a minimum transformation size. So, a smaller value between "RootTuSize/(2AMaxTransformSizeIndex)" and "MinTransformSize" can be the current minimum transform unit size "CurrMinTuSize" which can be determined in the current encoding unit.
According to an exemplary embodiment, the maximum RootTuSize transform unit size may vary according to the type of prediction mode.
For example, if a current prediction mode is an inter-mode, then RootTuSize can be determined using Equation (2) below. In Equation (2), "MaxTransformSize" denotes a maximum transform unit size, and "PUSize" denotes a current prediction unit size. RootTuSize = min(MaxTransformSize, PUSize) (2)
That is, if the current prediction mode is intermode, the transform unit size "RootTuSize" when the TU size flag is 0, can be a smaller value between the maximum transform unit size and the size of current prediction unit.
If a prediction mode of a current partition drive is an intra-mode, "RootTuSize" can be determined using Equation (3) below. In Equation (3), "PartitionSize" denotes the size of the current partition drive.RootTuSize = min(MaxTransformSize, PartitionSize) (3)
That is, if the current prediction mode is intra-mode, the transformation unit size "RootTuSize" when the TU size flag is 0 can be a smaller value between the maximum transformation unit size and the unit size. current partition.
However, the current maximum transform unit size "RootTuSize" which varies according to the type of a prediction mode in a partition unit is just an example and is not limited to this.
Figure 14 is a flowchart illustrating a method of encoding a video, according to an exemplary embodiment.
In operation 1210, a current frame is divided into at least one maximum encoding unit. A maximum depth indicating the total number of possible division times can be predetermined.
In operation 1220, an encoded depth to produce a final encoding result according to at least one divided region, which is obtained by dividing a region of each maximum encoding unit according to depths, is determined by encoding the at least a divided region, and an encoding unit according to a tree structure is determined.
The maximum encoding unit is spatially divided whenever the depth is deepened, and thus is divided into encoding units of a lower depth. Each encoding unit can be divided into encoding units of another lower depth by virtue of being spatially divided independently from adjacent encoding units. Encoding is performed repeatedly on each encoding unit according to depths.
Furthermore, a transformation unit according to partition types having the minimum encoding error is determined for each deeper encoding unit. To determine an encoded depth having a minimum encoding error in each maximum encoding unit, encoding errors can be measured and compared in all deeper encoding units according to depths.
In operation 1230, encoded image data constituting the final encoding result according to the encoded depth is output to each maximum encoding unit, with encoding information about the encoded depth and an encoding mode. The encoding mode information may include information about an encoded depth or split information, information about a partition type of a prediction unit, a prediction mode, and a size of a transform unit. The encoded information about the encoding mode can be transmitted to a decoder with the encoded image data.
Fig. 15 is a flowchart illustrating a method of decoding a video, according to an exemplary embodiment. In operation 1310, an encoded video bit stream is received and analyzed.
In operation 1320, encoded image data of a current frame assigned to a maximum encoding unit, and information about an encoded depth and an encoding mode according to the maximum encoding units are extracted from the analyzed bit stream. The encoded depth of each maximum encoding unit is a depth that has the minimum encoding error in each maximum encoding unit. In encoding each maximum encoding unit, the image data is encoded based on at least one data unit obtained by hierarchically dividing each maximum encoding unit according to depths.
According to the information about the encoded depth and the encoding mode, the maximum encoding unit can be divided into encoding units having a tree structure. Each of the encoding units having the tree structure is determined as an encoding unit corresponding to an encoded depth, and is optimally encoded so as to produce the minimum encoding error. Accordingly, the efficiency of encoding and decoding an image can be improved by decoding each fraction of image data encoded in the encoding units after determining at least an encoded depth according to the encoding units.
In operation 1330, the image data of each maximum encoding unit is decoded based on the information about the encoded depth and the encoding mode according to the maximum encoding units. The decoded image data can be played back by playback equipment, stored on a storage medium, or transmitted over a network.
Fig. 16 is a block diagram of a video encoding apparatus 1400 with respect to inter-prediction using partitions divided according to arbitrary proportions, in accordance with another exemplary embodiment.
Video encoding equipment 1400 includes a maximum encoding unit splitter 1410, an encoder 1420, and an output unit 1430.
1410 max encoding unit splitter can split video data into max encoding unit. The maximum encoding video data divided into the maximum encoding unit is output to the output unit 1430. The maximum encoding unit can be pre-set in data units such as a sequence of frames, a frame, a slice, a encoding unit, etc.
The maximum video data can be selectively set to at least one of blocks that have respective sizes of 16x16, 32x32, 64x64x, 128x128 and 256x256.
Encoder 1420 encodes the maximum encoding unit video data divided by the maximum encoding unit divider 1410. Encoder 1420 encodes the video data to at least one region divided from the maximum encoding unit based on the deepest encoding units. of hierarchical structures. During a coding operation of the deeper coding units, inter-prediction is performed to search for a similar region using partitions included in the deeper coding units and to estimate the movement information of the partitions.
Inter-prediction can use partitions obtained by dividing an encoding unit according to arbitrary proportions. Examples of the prediction unit and partitions shown in Figures 3 to 13 include partitions having sizes of 2Nx2N, 2NxN, Nx2N and NxN divided from an encoding unit having a size of 2Nx2N. Encoder 1420 can perform interprediction according to partition types including partitions divided according to arbitrary proportions or according to asymmetric proportions as well as partitions obtained by dividing the width or height of the encoding unit in a ratio of 1: 1.
For example, partitions obtained by dividing the encoding unit according to arbitrary proportions can be obtained by dividing the width or height of the encoding unit in a ratio of 1:3 or 3:1. Partitions can be divided into various arbitrary ratios such as 1:2, 2:1, 1:3, 3:1, 2:3, 3:2, 1:4, 4:1, etc.
Partition types can include partitions obtained by asymmetrically dividing the encoding unit as well as partitions obtained by dividing the encoding units according to arbitrary proportions. Partition types for encoding unit inter-prediction may not be limited to including partitions split in a defined direction according to arbitrary proportions and may include partitions that have arbitrary shapes.
Encoder 1420 can selectively determine whether to perform inter-prediction using the partitions obtained by dividing the encoding unit according to arbitrary proportions. Information indicating whether inter-prediction is performed using the partitions obtained by dividing the coding unit according to arbitrary proportions can be separately coded and included in a bit stream.
Encoder 1420 encodes the video data of the maximum encoding unit according to regions divided based on the deepest encoding units according to hierarchical structures, selects encoding results according to depths, and selects a depth having highest coding efficiency. The selected depth is an encoding depth for a region divided from a corresponding maximum encoding unit. Information regarding encoding depth is encoded as a result of encoding a corresponding encoding unit. The encoding depth for at least one region divided within the maximum encoding unit is independently determined, and thus at least one encoding depth can be determined for a single maximum encoding unit.
Output unit 1430 produces a bit stream including information related to encoded video data corresponding to encoding depths according to maximum encoding units and split regions, encoding depths, and encoding modes. Output unit 1430 can output the bit stream including information as to whether the partition types for inter-prediction include the partitions obtained by dividing the encoding unit according to arbitrary proportions. Information regarding whether the partition types for inter-prediction include the partitions obtained by dividing the coding unit according to arbitrary proportions can be defined according to data units such as a sequence of frames, a slice , an encoding unit, etc., and may be included in a set of bitstream sequence parameters; a slice header; and coding information according to the coding units.
The encoding unit can record a much larger amount of data than that of a given macroblock, and thus a single encoding unit may include regions that have different image characteristics. To perform coding unit prediction coding, it is preferable to divide the coding unit into regions according to the picture features and generate partitions for coding unit prediction coding by grouping neighboring regions that have the same picture features as the coding unit. a partition.
Although video data can be divided into regions that have different image characteristics with respect to a coding unit center, the larger the coding unit size, the greater the possibility that a boundary between distinct regions is at either. side, left, right, above or below. If only the partitions obtained by dividing the width and height of the encoding unit in a 1:1 ratio are used, to accurately perform the prediction encoding in the encoding unit in which the boundary between the distinct regions is one side, the unit current encoding must be split into an encoding unit of a lower depth in order to generate small partitions including a single independent region.
However, if inter-prediction is performed using partitions divided according to arbitrary proportions, such as video encoding equipment 1400 according to the present embodiment, inter-prediction is performed using partitions that are divided to a side at a current depth without having to additionally split a current deeper encoding unit into lower depths. Therefore, if the coding unit partitions include partitions divided according to arbitrary ratios or partitions having arbitrary formats and partitions obtained by dividing the coding unit width or height at 1:1 ratio, more efficient prediction coding and exact can be performed on a larger sized encoding unit.
Additionally, prediction coding using partitions obtained by dividing the coding unit according to arbitrary proportions or partitions having arbitrary formats can be performed selectively according to the hardware performance of a video encoder/decoder, the user requirement to receive a video encoding/decoding service, and an environment for transmitting a bit stream with respect to the encoded video.
Fig. 17 is a block diagram of a video decoding apparatus 1500 with respect to inter-prediction using partitions divided according to arbitrary proportions, in accordance with another exemplary embodiment.
Referring to Figure 17 , video decoding equipment 1500 includes an analyzer 1510, an extractor 1520 and a decoder 1530. The analyzer 1510 receives a bit stream with respect to the encoded video and analyzes the received bit stream symbols. Extractor 1520 extracts video data encoded according to maximum encoding units and information regarding encoding depths and encoding modes according to maximum encoding units from the analyzed bit stream.
Extractor 1520 may additionally extract information as to whether a partition type for interprediction includes partitions obtained by dividing an encoding unit according to arbitrary proportions from the bit stream. Information regarding whether the partition type for inter-prediction includes partitions obtained by dividing the coding unit according to arbitrary proportions can be extracted from a set of bitstream sequence parameters, a slice header, encoding information for encoding units, etc.
Decoder 1530 receives the video data and encoding information extracted from extractor 1520 and decodes the video data based on the encoding information. More specifically, the decoder 1530 decodes the video data to an encoding unit of at least one encoding depth according to the maximum encoding units based on information regarding encoding depths and encoding modes according to the units. maximum encoding.
Particularly, the decoder 1530 can selectively perform motion compensation using the partitions obtained by dividing the encoding unit according to arbitrary proportions according to information related to whether the partition type for inter-prediction includes partitions obtained by dividing the unit. encoding according to arbitrary proportions extracted by extractor 1520.
That is, decoder 1530 can perform motion compensation using a predicted motion vector according to a partition type including partitions obtained by asymmetrically dividing the encoding unit according to arbitrary ratios such as 1:2, 2:1 , 1:3, 3:1, 2:3, 3:1, 1:4,4:1, etc., and also the partitions obtained by dividing the encoding unit in the ratio of 1:1. Additionally, decoder 1530 can perform motion compensation using partitions having arbitrary shapes as well as partitions obtained by dividing the encoding unit in one direction.
Decoder 1530 can selectively perform motion compensation according to partitions that have widths and heights in arbitrary proportions by determining whether inter-prediction is encoded using the partitions obtained by dividing the encoding unit according to arbitrary proportions, from that way by accurately restoring the encoding unit distinguished with respect to regions having various features of an image.
The video decoding equipment 1500 can restore and play the decoded video data according to the maximum encoding units.
Therefore, if prediction encoding/decoding using partitions divided according to arbitrary proportions is performed as video encoding equipment 1400 and video decoding equipment 1500, inter-prediction is performed using partitions that are divided to one side at a current depth without having to additionally split a current deeper encoding unit at lower depths. Therefore, partitions divided according to arbitrary proportions can be used to more efficiently and accurately perform prediction encoding or decoding in a large-sized encoding unit.
Figure 18 is a diagram of exemplary partitions obtained by dividing an encoding unit according to arbitrary proportions, according to an exemplary embodiment.
Referring to Figure 18 , a partition type for predictive encoding of the encoding unit may include partitions obtained by dividing the height and width of the encoding unit according to arbitrary proportions. For example, a partition type of an encoding unit 1600 having a size of 64x64 may include partitions obtained by dividing the encoding unit 1600 according to an aspect ratio of 1:3 or 3:1 and partitions having sizes of 64x32, 32x64 and 32x32 obtained by dividing the height or width of the encoding unit 1600 also according to a 1:1 ratio.
More specifically, a partition type of encoding unit 1600 having the size of 64x64 may include partitions 1610 and 1620 having sizes of 64x16 and 64x48, respectively, obtained by dividing the height of the encoding unit 1600 according to the ratio of 1: 3 or 3:1. Additionally, the partition type of encoding unit 1600 having the size of 64x64 may include partitions 1630 and 1640 having sizes of 64x16 and 64x48 obtained by dividing the width of encoding unit 1600 according to 1:3 or 3:1 aspect ratio. .
Figure 19 illustrates a syntax of a string parameter set 1700 including information regarding whether a partition type for inter-prediction includes partitions obtained by dividing a coding unit according to arbitrary proportions, in accordance with an embodiment. exemplary.
Referring to Figure 19, sequence_parameter_set is the syntax of sequence parameter set 1700 for a current image slice. The invention as to whether the partition type for inter-prediction includes the partitions obtained by dividing the coding unit according to arbitrary proportions is inserted into the syntax of sequence parameter set 1700 for the current image slice. picture_width is the syntax for a width of an input image. picture_height is the syntax for a height of the input image. max_coding_unit_size is the syntax of a maximum encoding unit size. max_coding_unit_depth is the syntax for a maximum depth.
An example of a string parameter might define information indicating whether an encoding unit level is independently decoded, i.e. use_independent_cu_decode_flag, information indicating whether the encoding unit level is independently parsed, i.e. use_independent_cu_parse_flag, an availability of an operation vector accuracy control, i.e. use_mv_accuracy_control_flag, an availability of an arbitrary directionality intra-prediction operation, i.e. use_arbitrary_direction_intra_flag an availability of an encoding/decoding prediction operation with respect to the frequency domain according with frequency transform, i.e. use_frequency_domain_prediction_flag, an availability of a rotational transform operation, i.e. use_rotational_transform_flag, an encoding/decoding availability using a significance tree map, i.e. use_tree_significant_map _flag, an availability of an intra-prediction encoding operation using a multiple parameter, i.e., use_multi_parameter_intra_prediction_flag, an availability of an enhanced motion vector prediction encoding operation, i.e., use_advanced_motion_vector_prediction_flag, an availability of an adaptive loop, i.e. use_adaptive_loop_filter_flag, an availability of a quadtree structure adaptive loop filtering operation, i.e. use_quadtree_adaptive_loop_filter_flag, an availability of a quantization operation using a delta value of a quantization parameter, i.e. use_delta_qp_flag, a availability of random noise generation operation, ie use_random_noise_generation_flag, and information indicating whether partitions having arbitrary partitions for interpredicting an encoding unit are allowed, ie use_arbitrary_motion_partition_flag.
Particularly, according to the availability of the adaptive loop filtering operation, i.e. use_adaptive_loop_filter_flag, and the availability of the adaptive loop filtering operation of the quadtree structure, i.e., use_quadtree_adaptive_loop_filter_flag, the string parameter set 1700 can define an extension of the adaptive loop filter, i.e. alf_filter_length, a type of the adaptive loop filter, i.e. alf_filter_type, a reference value for quantizing an adaptive loop filter coefficient, i.e. alf_qbits, and the number of color components of adaptive loop filtering, that is, alf_num_color.
Information regarding the correlations between a depth of an encoding unit and an encoding tool, and a mode of operation that are used in video encoding equipment 1400 and decoding equipment 1500 may include a mode of operation mbp_mode[uiDepth] of inter-prediction corresponding to a uiDepth depth of an encoding unit and a significant_map_mode[uiDepth] operating mode indicating a type of a meaningful map between meaningful treemaps. More specifically, sequence parameter set 1700 can define correlations between the inter-prediction and an operating mode corresponding according to the coding unit depth or the correlations between encoding/decoding using the meaningful treemap and a mode of operation. corresponding operation.
The string parameter set 1700 may also establish a bit depth of an input sample input_sample_bit_depth and a bit depth of an internal sample internal_sample_bit_depth.
Video decoding equipment 1500 can read a sequence parameter, extract information indicating whether partitions having arbitrary partitions for encoding unit inter-prediction are allowed, i.e. use_arbitrary_motion_partition_flag, from the read sequence parameter, and determine inter-prediction is performed using the partitions obtained by dividing a coding unit of a corresponding sequence according to arbitrary proportions.
The information indicating whether partitions having arbitrary partitions for encoding unit inter-prediction are allowed, i.e. use_arbitrary_motion_partition_flag, which is used by video encoding equipment 1400 and video decoding equipment 1500, is not limited to the set of sequence parameters 1700 of Figure 22 , and can be encoded/decoded in units of a maximum encoding unit, a slice, a frame, a picture, a GOP, etc.
If information indicating that partitions having arbitrary partitions for encoding unit inter-prediction is allowed, i.e. use_arbitrary_motion_partition_flag, and has a true value in a slice header, the inter-prediction is performed using partitions obtained by unit division encoding according to arbitrary proportions in a corresponding slice. If the information has a false value, the inter-prediction is performed using partitions obtained by dividing the width or height of the encoding unit according to a 1:1 ratio in the corresponding slice.
Figure 20 is a flowchart illustrating a video encoding method with respect to inter-prediction using partitions divided according to arbitrary proportions, according to another exemplary embodiment.
Referring to Figure 20, in operation 1810, the video data is divided into a maximum encoding unit.
In operation 1820, the video data of the maximum encoding unit is encoded based on deeper encoding units of hierarchical structures according to at least one divided region of the maximum encoding unit, and an encoding depth at which a result of encoding must be issued, is determined. Inter-prediction can selectively use partitions obtained by dividing an encoding unit according to arbitrary proportions. If performing inter-prediction using the partitions obtained by dividing the coding unit according to arbitrary proportions, it can be set according to data units such as a frame sequence, a frame, a slice, a coding unit, etc.
In operation 1830, a bit stream including encoded video data corresponding to encoding depths for regions divided according to maximum encoding units and encoding information regarding encoding depth and encoding modes is produced. Information indicating whether interprediction is performed using the partitions obtained by dividing the encoding unit according to arbitrary proportions can be encoded and inserted into a bit stream and then the bit stream can be output.
Fig. 21 is a flowchart illustrating a video decoding method with respect to inter-prediction using partitions divided according to arbitrary proportions, according to another exemplary embodiment.
Referring to Figure 21, in operation 1910, a bit stream with respect to encoded video data is received and the symbols in the bit stream are parsed.
In operation 1920, video data encoded according to maximum encoding units, and encoding information with respect to encoding depths and encoding modes according to maximum encoding units are extracted from the bit stream. Information indicating whether inter-prediction is performed using partitions obtained by dividing an encoding unit according to arbitrary proportions can be extracted from the bit stream. Information indicating whether intra-prediction is performed using partitions obtained by dividing the coding unit according to arbitrary proportions can be extracted from a set of sequence parameters, a slice header, coding information for coding units, etc.
In operation 1930, decoding including motion compensation using the partitions obtained by dividing the encoding unit according to arbitrary proportions can be performed for an encoding unit of at least one encoding depth according to the maximum encoding units based on the information regarding coding depths and coding modes according to maximum coding units. Decoding is performed including motion compensation using the partitions obtained by dividing the encoding unit according to arbitrary proportions, it can be performed selectively according to information indicating whether inter-prediction is performed using partitions obtained by dividing the encoding unit from according to arbitrary proportions extracted from the bit stream.
If interprediction using partitions divided according to arbitrary proportions is performed as the video encoding method and video decoding method of the present embodiments, interprediction is performed using partitions that are divided to one side. at a current depth without having to additionally split the current deepest encoding unit into lower depths.
Additionally, whether the coding unit partitions include partitions divided according to arbitrary properties or partitions having arbitrary formats as well as partitions obtained by dividing the coding unit width or height according to 1:1 ratio can be selected, and so the conventional encoding/decoding system which does not support partitions divided according to arbitrary proportions can use the video encoding method and the video decoding method of the present embodiments. Therefore, more efficient and accurate prediction coding can be performed selectively according to the video encoding and decoding methods of the present modalities.
Exemplary embodiments may be recorded as computer programs and may be implemented in commonly used digital computers which execute the programs using a computer readable recording medium. Examples of computer-readable recording media include magnetic storage media (eg, ROM, floppy disks, hard disks, etc.) and optical recording media (eg, CD-ROMs, or DVDs). Exemplary modalities can also be implemented as computer processors and hardware devices.
While this invention has been shown and described particularly with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and detail may be made herein without departing from the spirit and scope of the invention as defined by the appended claims. . Exemplary modalities should be considered only in the descriptive sense and not for the purpose of limitation. Therefore, the scope of the invention is defined not by the detailed description of the invention, but by the appended claims, and all differences within the scope will be deemed to be included in the present invention.
权利要求:
Claims (1)
[0001]
1. METHOD FOR DECODING A VIDEO, the method characterized by the fact that it comprises: receiving a stream of bits from an encoded image; analyzing division information indicating whether an encoding unit is divided into smaller encoding units and information indicating whether asymmetric partitions are used for inter-prediction, from the bit stream; determining one or more encoding units included in a maximum encoding unit by using division information indicating whether an encoding unit is divided into smaller encoding units; when the information indicates that asymmetric partitions are not used for inter-prediction, determine symmetric partitions that indicate one of a partition obtained by not dividing an encoding unit among one or more encoding units, and partitions obtained by dividing at least one of a height and a width of the encoding unit according to a symmetrical relationship; when the information mation indicates that asymmetric partitions are used for inter-prediction, determining the asymmetric partitions obtained by dividing a height and a width of the encoding unit according to an asymmetric relationship or the symmetric partitions; and perform motion compensation by using symmetric partitions or asymmetric partitions for the encoding unit, where: the maximum encoding unit is hierarchically divided into one or more depth encoding units according to the division information analyzed from the received bit stream, a current depth encoding unit is one of rectangular data units divided from a depth encoding unit greater than at least one depth encoding unit, when the division information indicates a division of the encoding unit of a current depth, the encoding unit of the current depth is divided into encoding units of a lower depth, regardless of neighboring encoding units, and when the division information indicates a non-division of the depth encoding unit current, at least one prediction unit is obtained at from the current depth coding unit, and at least one transformation unit to perform the transformation is obtained from the current depth coding unit, where at least one prediction unit is one of the symmetric partitions and the asymmetric partitions.
类似技术:
公开号 | 公开日 | 专利标题
BR112012013871B1|2022-02-01|Method to decode a video
BR112012002389B1|2021-08-31|Method of decoding a video
BR122015021751B1|2022-01-18|METHOD OF DECODING VIDEO DATA
BR112012003245B1|2022-01-04|METHOD TO DECODE AN ENCODED VIDEO
BR122021004152B1|2022-01-11|DEVICE TO DECODE VIDEO
AU2014218479B2|2015-09-03|Method and apparatus for encoding video by motion prediction using arbitrary partition, and method and apparatus for decoding video by motion prediction using arbitrary partition
BR122021004622B1|2022-02-08|METHOD TO DECODE A VIDEO
BR122021004831B1|2022-02-01|Method to decode an encoded video
BR122021004836B1|2022-02-08|METHOD TO DECODE AN ENCODED VIDEO
BR112012025308B1|2022-02-08|METHOD OF ENCODING A VIDEO, METHOD OF DECODING AN ENCRYPTED VIDEO, VIDEO ENCODING EQUIPMENT INCLUDING A PROCESSOR, VIDEO DECODING EQUIPMENT INCLUDING A PROCESSOR, AND COMPUTER-LEABLE RECORDING MEDIA
同族专利:
公开号 | 公开日
RU2012128519A|2014-02-20|
HRP20181297T1|2018-10-05|
RU2580472C2|2016-04-10|
WO2011071308A2|2011-06-16|
CY1118094T1|2017-06-28|
US10448042B2|2019-10-15|
CA2876814C|2015-09-15|
JP5632515B2|2014-11-26|
AU2010328813B2|2014-06-12|
PT2510698T|2016-11-18|
CN104837018A|2015-08-12|
DK2629527T3|2016-11-14|
CN104539960B|2016-08-17|
HUE042036T2|2019-06-28|
CA2816755C|2016-05-17|
US8780993B2|2014-07-15|
SMT201500074B|2015-05-05|
US20110134998A1|2011-06-09|
BR122013019952A2|2020-09-15|
EP2629527B1|2016-10-12|
CA2783786C|2016-11-01|
RS55893B1|2017-08-31|
US9025667B2|2015-05-05|
HRP20161335T1|2016-12-02|
CN104602012A|2015-05-06|
ES2533304T3|2015-04-09|
EP2629528A3|2013-10-30|
RU2515226C1|2014-05-10|
CY1121084T1|2019-12-11|
CA2816467C|2016-09-06|
CN103220523B|2016-09-28|
US8885725B2|2014-11-11|
CN104539960A|2015-04-22|
JP6149140B2|2017-06-14|
SI2629527T1|2016-11-30|
BR122013019953A2|2020-09-15|
HRP20161480T1|2016-12-30|
JP2013255275A|2013-12-19|
EP3402189B1|2021-05-05|
LT2629527T|2016-11-10|
ES2610410T3|2017-04-27|
ES2625313T3|2017-07-19|
LT2908525T|2017-06-12|
CY1118261T1|2017-06-28|
RS57529B1|2018-10-31|
US20140192874A1|2014-07-10|
US20140286426A1|2014-09-25|
CN102771124A|2012-11-07|
US8885723B2|2014-11-11|
US20160156924A1|2016-06-02|
CN103220523A|2013-07-24|
US8446959B2|2013-05-21|
US20130251035A1|2013-09-26|
CN104837018B|2018-11-16|
CY1116338T1|2017-02-08|
HRP20170701T1|2017-07-14|
EP2899978B1|2018-08-08|
PL2629527T3|2017-04-28|
US8885724B2|2014-11-11|
CA2816755A1|2011-06-16|
AU2010328813A1|2012-07-05|
MX2012006633A|2012-07-10|
CA2876814A1|2011-06-16|
US20120236944A1|2012-09-20|
BR122020024414B1|2022-01-18|
MY165981A|2018-05-21|
SI2899978T1|2018-10-30|
CA2816467A1|2011-06-16|
PT2629527T|2016-10-24|
SI2510698T1|2017-01-31|
PT2629528E|2015-04-01|
PL2510698T3|2017-06-30|
RS55235B1|2017-02-28|
PL2899978T3|2018-10-31|
JP2013513330A|2013-04-18|
RU2517253C1|2014-05-27|
EP2510698A4|2013-10-30|
HUE030162T2|2017-04-28|
HRP20150304T1|2015-04-24|
ZA201505589B|2016-11-30|
PL2908525T3|2017-08-31|
US20140192890A1|2014-07-10|
JP5632516B2|2014-11-26|
US8938006B2|2015-01-20|
MY155120A|2015-09-15|
JP2016171592A|2016-09-23|
EP2899978A1|2015-07-29|
CN104602012B|2017-02-15|
BR122013019953B1|2022-01-18|
BR122020024421B1|2022-01-18|
CN104581165A|2015-04-29|
MY164871A|2018-01-30|
US20150215636A1|2015-07-30|
RU2014104110A|2015-08-10|
EP2629528A2|2013-08-21|
JP2013255274A|2013-12-19|
US20140192875A1|2014-07-10|
PT2899978T|2018-10-04|
EP2629528B1|2015-03-18|
RS53897B1|2015-08-31|
JP5945026B2|2016-07-05|
EP2908525A1|2015-08-19|
MY168315A|2018-10-30|
JP5945025B2|2016-07-05|
MY168314A|2018-10-30|
US8223843B2|2012-07-17|
CN103220519A|2013-07-24|
ZA201505590B|2016-05-25|
JP5813000B2|2015-11-17|
HUE030154T2|2017-04-28|
KR101484280B1|2015-01-20|
RU2517404C2|2014-05-27|
US20120114043A1|2012-05-10|
WO2011071308A3|2011-10-27|
BR112012013871A2|2020-08-25|
ES2598106T3|2017-01-25|
KR20110064694A|2011-06-15|
EP2510698A2|2012-10-17|
EP3402189A1|2018-11-14|
CN102771124B|2015-05-06|
US9294780B2|2016-03-22|
CA2783786A1|2011-06-16|
CA2876818C|2016-05-03|
SI2629528T1|2015-05-29|
RU2014104111A|2015-08-10|
LT2510698T|2016-11-25|
EP2629527A2|2013-08-21|
DK2629528T3|2015-03-30|
EP2908525B1|2017-05-10|
DK2510698T3|2016-12-12|
DK2908525T3|2017-05-22|
RS55323B1|2017-03-31|
EP2629527A3|2013-10-30|
CA2876818A1|2011-06-16|
RU2569807C2|2015-11-27|
EP2510698B1|2016-11-09|
ZA201204888B|2016-02-24|
SI2908525T1|2017-06-30|
PL2629528T3|2015-06-30|
ES2683595T3|2018-09-27|
DK2899978T3|2018-08-20|
LT2899978T|2018-08-27|
CN103220519B|2016-08-03|
JP2015136170A|2015-07-27|
BR122013019952B1|2022-01-18|
JP2015136171A|2015-07-27|
ZA201304980B|2013-09-25|
PT2908525T|2017-05-24|
CN104581165B|2016-12-21|
CY1119160T1|2018-02-14|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题

RU2090011C1|1995-06-28|1997-09-10|Закрытое акционерное общество "Техно-ТМ"|Video signal encoding-decoding device|
JPH11510989A|1996-06-05|1999-09-21|フィリップスエレクトロニクスネムローゼフェンノートシャップ|Method and apparatus for decoding an encoded digital video signal|
JP3263807B2|1996-09-09|2002-03-11|ソニー株式会社|Image encoding apparatus and image encoding method|
JPH10178639A|1996-12-19|1998-06-30|Matsushita Electric Ind Co Ltd|Image codec part and image data encoding method|
US6633611B2|1997-04-24|2003-10-14|Mitsubishi Denki Kabushiki Kaisha|Method and apparatus for region-based moving image encoding and decoding|
JPH1146367A|1997-07-25|1999-02-16|Matsushita Electric Ind Co Ltd|Automatic color temperature correction device|
JP4416846B2|1997-08-22|2010-02-17|ソニー株式会社|Computer-readable recording medium recording menu control data, and menu control method and apparatus|
JPH1164305A|1997-08-27|1999-03-05|Taisei Corp|Vibration exciting and receiving device for inspecting back of concrete wall|
JPH11146367A|1997-11-06|1999-05-28|Matsushita Electric Ind Co Ltd|Mobile video-phone|
JP3740813B2|1997-12-12|2006-02-01|ソニー株式会社|Image encoding method and image encoding apparatus|
US6985589B2|1999-12-02|2006-01-10|Qualcomm Incorporated|Apparatus and method for encoding and storage of digital image and audio signals|
EP1407613A1|2001-07-06|2004-04-14|Koninklijke Philips Electronics N.V.|Methods of and units for motion or depth estimation and image processing apparatus provided with such motion estimation unit|
US7643559B2|2001-09-14|2010-01-05|Ntt Docomo, Inc.|Coding method, decoding method, coding apparatus, decoding apparatus, image processing system, coding program, and decoding program|
MXPA03006715A|2001-11-29|2003-10-24|Matsushita Electric Ind Co Ltd|Coding distortion removal method, video encoding method, video decoding method, and apparatus and program for the same.|
CA2470502C|2001-12-26|2014-02-18|Yale University|Vascular access device|
US7006699B2|2002-03-27|2006-02-28|Microsoft Corporation|System and method for progressively transforming and coding digital data|
US7302006B2|2002-04-30|2007-11-27|Hewlett-Packard Development Company, L.P.|Compression of images and image sequences through adaptive partitioning|
JP2004140667A|2002-10-18|2004-05-13|Canon Inc|Information processing method|
US20040081238A1|2002-10-25|2004-04-29|Manindra Parhy|Asymmetric block shape modes for motion estimation|
HU0301368A3|2003-05-20|2005-09-28|Amt Advanced Multimedia Techno|Method and equipment for compressing motion picture data|
JP4142563B2|2003-12-12|2008-09-03|株式会社エヌ・ティ・ティ・ドコモ|Moving picture coding apparatus, moving picture coding method, and moving picture coding program|
KR100813958B1|2004-06-07|2008-03-14|세종대학교산학협력단|Method of lossless encoding and decoding, and apparatus thereof|
KR100679022B1|2004-10-18|2007-02-05|삼성전자주식회사|Video coding and decoding method using inter-layer filtering, video ecoder and decoder|
KR100716999B1|2005-06-03|2007-05-10|삼성전자주식회사|Method for intra prediction using the symmetry of video, method and apparatus for encoding and decoding video using the same|
KR101349599B1|2005-09-26|2014-01-10|미쓰비시덴키 가부시키가이샤|Dynamic image decoding device|
US7602984B2|2005-09-28|2009-10-13|Novell, Inc.|Adaptive method and system for encoding digital images for the internet|
KR100727989B1|2005-10-01|2007-06-14|삼성전자주식회사|Method and apparatus for inter-mode decision in video coding|
WO2007063808A1|2005-11-30|2007-06-07|Kabushiki Kaisha Toshiba|Image encoding/image decoding method and image encoding/image decoding apparatus|
JP4666255B2|2005-12-27|2011-04-06|日本電気株式会社|Encoded data selection, encoded data setting, re-encoded data generation and re-encoding method and apparatus|
KR101526914B1|2006-08-02|2015-06-08|톰슨 라이센싱|Methods and apparatus for adaptive geometric partitioning for video decoding|
CN101507280B|2006-08-25|2012-12-26|汤姆逊许可公司|Methods and apparatus for reduced resolution partitioning|
US7756348B2|2006-10-30|2010-07-13|Hewlett-Packard Development Company, L.P.|Method for decomposing a video sequence frame|
JP2008131569A|2006-11-24|2008-06-05|Sony Corp|Image information transmission system and method, image information transmission apparatus and method, and image information receiving apparatus and method,|
EP2092748A4|2006-12-14|2011-01-05|Thomson Licensing|Method and apparatus for encoding and/or decoding video data using enhancement layer residual prediction for bit depth scalability|
KR101366093B1|2007-03-28|2014-02-21|삼성전자주식회사|Method and apparatus for video encoding and decoding|
EP1981164A3|2007-04-13|2016-12-07|Sanyo Electric Co., Ltd.|Motor control device|
BRPI0818649A2|2007-10-16|2015-04-07|Thomson Licensing|Methods and apparatus for encoding and decoding video in geometrically partitioned superblocks.|
BRPI0907242A2|2008-01-07|2015-07-14|Thomson Licensing|Methods and apparatus for coding and decoding using parametric filtering|
KR20090099720A|2008-03-18|2009-09-23|삼성전자주식회사|Method and apparatus for video encoding and decoding|
JP4990927B2|2008-03-28|2012-08-01|三星電子株式会社|Method and apparatus for encoding / decoding motion vector information|
WO2009130561A1|2008-04-21|2009-10-29|Nokia Corporation|Method and device for video coding and decoding|
KR101517768B1|2008-07-02|2015-05-06|삼성전자주식회사|Method and apparatus for encoding video and method and apparatus for decoding video|
US8503527B2|2008-10-03|2013-08-06|Qualcomm Incorporated|Video coding with large macroblocks|
CN102498718B|2009-07-03|2016-01-20|法国电信公司|There is the prediction of the motion-vector of the present image subregion of the geometry different from the geometry of at least one adjacent reference picture subregion or size or size and use the Code And Decode of a this prediction|
KR101487686B1|2009-08-14|2015-01-30|삼성전자주식회사|Method and apparatus for video encoding, and method and apparatus for video decoding|
KR101457418B1|2009-10-23|2014-11-04|삼성전자주식회사|Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit|
KR101484280B1|2009-12-08|2015-01-20|삼성전자주식회사|Method and apparatus for video encoding by motion prediction using arbitrary partition, and method and apparatus for video decoding by motion compensation using arbitrary partition|
JP5832519B2|2010-04-13|2015-12-16|サムスン エレクトロニクス カンパニー リミテッド|Video encoding method and apparatus based on encoding unit based on tree structure, and video decoding method and apparatus|
US8885704B2|2010-10-01|2014-11-11|Qualcomm Incorporated|Coding prediction modes in video coding|
KR101484282B1|2013-04-02|2015-01-22|삼성전자주식회사|Method and apparatus for video encoding by motion prediction using arbitrary partition, and method and apparatus for video decoding by motion compensation using arbitrary partition|KR101484280B1|2009-12-08|2015-01-20|삼성전자주식회사|Method and apparatus for video encoding by motion prediction using arbitrary partition, and method and apparatus for video decoding by motion compensation using arbitrary partition|
KR101487687B1|2010-01-14|2015-01-29|삼성전자주식회사|Method and apparatus for encoding and decoding image using large transform unit|
KR101675118B1|2010-01-14|2016-11-10|삼성전자 주식회사|Method and apparatus for video encoding considering order of skip and split, and method and apparatus for video decoding considering order of skip and split|
KR20120090740A|2011-02-07|2012-08-17|휴맥스|Apparatuses and methods for encoding/decoding of video using filter in a precise unit|
JP5832519B2|2010-04-13|2015-12-16|サムスン エレクトロニクス カンパニー リミテッド|Video encoding method and apparatus based on encoding unit based on tree structure, and video decoding method and apparatus|
PL2955918T3|2010-08-17|2018-12-31|Samsung Electronics Co., Ltd.|Video decoding using transformation unit of variable tree structure|
WO2012117744A1|2011-03-03|2012-09-07|Panasonic Corporation|Method of encoding an image into a coded image, method of decoding a coded image, and apparatuses thereof|
EP2533537A1|2011-06-10|2012-12-12|Panasonic Corporation|Transmission of picture size for image or video coding|
US11245912B2|2011-07-12|2022-02-08|Texas Instruments Incorporated|Fast motion estimation for hierarchical coding structures|
CN102970526B|2011-08-31|2016-12-14|华为技术有限公司|A kind of method obtaining transform block size and module|
EP2763415B1|2011-09-29|2020-04-15|Sharp Kabushiki Kaisha|Image decoding apparatus for decoding partition information, image decoding method and image encoding apparatus|
CN108632608A|2011-09-29|2018-10-09|夏普株式会社|Picture decoding apparatus, picture decoding method and picture coding device|
EP2775716A4|2011-10-31|2015-06-17|Mitsubishi Electric Corp|Moving picture encoding device, moving picture decoding device, moving picture encoding method, and moving picture decoding method|
US20130163664A1|2011-12-22|2013-06-27|Qualcomm Incorporated|Unified partition mode table for intra-mode coding|
WO2013155665A1|2012-04-16|2013-10-24|Mediatek Singapore Pte. Ltd.|Improvement of implicit tu split mode in hevc|
WO2013155664A1|2012-04-16|2013-10-24|Mediatek Singapore Pte. Ltd.|Methods and apparatuses of coding structure for scalable extension of high efficiency video coding |
CN102761742B|2012-07-03|2017-06-06|华为技术有限公司|Transform block division methods, transform block divides coding method and the coding/decoding method of parameter|
US9053366B2|2013-02-20|2015-06-09|Honeywell International Inc.|System and method for detecting motion in compressed video|
CA2924501C|2013-11-27|2021-06-22|Mediatek Singapore Pte. Ltd.|Method of video coding using prediction based on intra picture block copy|
TWI536811B|2013-12-27|2016-06-01|財團法人工業技術研究院|Method and system for image processing, decoding method, encoder and decoder|
CN104768012B|2014-01-03|2018-04-20|华为技术有限公司|The method and encoding device of asymmetrical movement partitioning scheme coding|
EP3119090A4|2014-03-19|2017-08-30|Samsung Electronics Co., Ltd.|Method for performing filtering at partition boundary of block related to 3d image|
US10009620B2|2015-06-22|2018-06-26|Cisco Technology, Inc.|Combined coding of split information and other block-level parameters for video coding/decoding|
US10003807B2|2015-06-22|2018-06-19|Cisco Technology, Inc.|Block-based video coding using a mixture of square and rectangular blocks|
WO2017008263A1|2015-07-15|2017-01-19|Mediatek Singapore Pte. Ltd.|Conditional binary tree block partitioning structure|
KR20180075484A|2015-11-24|2018-07-04|삼성전자주식회사|METHOD AND APPARATUS FOR ENCODING / DECODING IMAGE|
US10469841B2|2016-01-29|2019-11-05|Google Llc|Motion vector prediction using prior frame residual|
US10306258B2|2016-01-29|2019-05-28|Google Llc|Last frame motion vector partitioning|
WO2017137312A1|2016-02-12|2017-08-17|Thomson, Licensing|A method and device for intra-predictive encoding/decoding a coding unit comprising picture data, said intra-predictive encoding depending on a prediction tree and a transform tree|
ES2877362T3|2016-05-25|2021-11-16|Arris Entpr Llc|Binary, ternary, and quaternary tree partitioning for JVET encoding of video data|
WO2017205700A1|2016-05-25|2017-11-30|Arris Enterprises Llc|Binary, ternary and quad tree partitioning for jvet coding of video data|
US10284845B2|2016-05-25|2019-05-07|Arris Enterprises Llc|JVET quadtree plus binary treestructure with multiple asymmetrical partitioning|
CA3025340A1|2016-05-25|2017-11-30|Arris Enterprises Llc|General block partitioning method|
MX2018014492A|2016-05-25|2019-08-12|Arris Entpr Llc|Jvet coding block structure with asymmetrical partitioning.|
CN109716775A|2016-09-20|2019-05-03|株式会社Kt|Method and apparatus for handling vision signal|
EP3306927A1|2016-10-05|2018-04-11|Thomson Licensing|Encoding and decoding methods and corresponding devices|
US10779004B2|2016-10-12|2020-09-15|Mediatek Inc.|Methods and apparatuses of constrained multi-type-tree block partition for video coding|
KR20180045530A|2016-10-26|2018-05-04|디지털인사이트 주식회사|Video coding method and apparatus using arbitrary block partition|
MX2019002383A|2017-02-06|2019-07-08|Huawei Tech Co Ltd|Coding and decoding method and device.|
CN107197251B|2017-06-27|2019-08-13|中南大学|A kind of inter-frame mode fast selecting method and device based on hierarchical B-frame of new video coding standard|
AU2017204643B2|2017-07-07|2020-05-14|Canon Kabushiki Kaisha|Method, apparatus and system for encoding and decoding video data|
CN110892719A|2017-07-17|2020-03-17|汉阳大学校产学协力团|Image encoding/decoding method and apparatus|
EP3701719A1|2017-10-27|2020-09-02|Huawei Technologies Co., Ltd.|Methods and apparatuses for signaling partioning information for picture encoding and decoding|
WO2019204386A1|2018-04-20|2019-10-24|Huawei Technologies Co., Ltd.|Line buffer for spatial motion vector predictor candidates|
CN110198443A|2018-05-10|2019-09-03|腾讯科技(深圳)有限公司|Coding unit division methods, device, storage medium and the electronic device of video frame|
EP3808083A1|2018-06-18|2021-04-21|InterDigital VC Holdings, Inc.|Method and apparatus for video encoding and decoding based on asymmetric binary partitioning of image blocks|
CN108769674B|2018-06-27|2019-11-12|北京大学深圳研究生院|A kind of video estimation method based on adaptive stratification motion modeling|
US20210067809A1|2019-08-27|2021-03-04|Tencent America LLC|Header syntax for qt/bt/tt size|
法律状态:
2020-09-01| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]|
2020-09-01| B15K| Others concerning applications: alteration of classification|Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04N 7/32 , H04N 7/24 Ipc: H04N 19/103 (2014.01), H04N 19/119 (2014.01), H04N |
2021-06-08| B06A| Patent application procedure suspended [chapter 6.1 patent gazette]|
2021-11-09| B09A| Decision: intention to grant [chapter 9.1 patent gazette]|
2021-11-23| B350| Update of information on the portal [chapter 15.35 patent gazette]|
2022-02-01| B16A| Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 08/12/2010, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO. |
优先权:
申请号 | 申请日 | 专利标题
KR20090121400A|KR101484280B1|2009-12-08|2009-12-08|Method and apparatus for video encoding by motion prediction using arbitrary partition, and method and apparatus for video decoding by motion compensation using arbitrary partition|
KR10-2009-0121400|2009-12-08|
PCT/KR2010/008735|WO2011071308A2|2009-12-08|2010-12-08|Method and apparatus for encoding video by motion prediction using arbitrary partition, and method and apparatus for decoding video by motion prediction using arbitrary partition|BR122020024421-6A| BR122020024421B1|2009-12-08|2010-12-08|METHOD TO DECODE A VIDEO|
BR122020024414-3A| BR122020024414B1|2009-12-08|2010-12-08|DEVICE TO DECODE A VIDEO|
BR122013019953-5A| BR122013019953B1|2009-12-08|2010-12-08|METHOD OF DECODING A VIDEO|
BR122013019952-7A| BR122013019952B1|2009-12-08|2010-12-08|DEVICE TO DECODE A VIDEO|
[返回顶部]